1. Introducción a AWS Lambda

AWS Lambda es el servicio serverless de AWS que permite ejecutar código sin administrar servidores.

En lugar de crear una máquina EC2 completa, simplemente subimos una función y AWS se encarga automáticamente de:

  • Infraestructura
  • Escalado
  • Disponibilidad
  • Ejecución
  • Monitorización básica

Idea principal

Evento
↓
Lambda se activa
↓
Ejecuta código
↓
Finaliza

La función solo existe mientras se ejecuta.

Lambda revolucionó muchas arquitecturas modernas porque elimina gran parte de la administración de servidores.

Mini-test

¿Qué permite AWS Lambda?

Ejecutar código sin administrar servidores
Crear discos EBS
Gestionar DNS
Crear VPCs únicamente

2. Qué significa Serverless

Serverless NO significa que no existan servidores.

Significa que los servidores son completamente administrados por AWS y nosotros no tenemos que preocuparnos por ellos.

Qué gestiona AWS

  • Sistema operativo
  • Parches
  • Escalabilidad
  • Infraestructura
  • Disponibilidad

Qué hace el desarrollador

  • Escribir código
  • Subir funciones
  • Definir eventos
Pregunta típica: Lambda sigue ejecutándose en servidores físicos, simplemente no los administramos nosotros.

Mini-test

¿Qué significa realmente serverless?

AWS administra los servidores
No existen servidores físicos
No se usa internet
Solo funciona con Linux

3. EC2 vs Lambda

Amazon EC2 AWS Lambda
Gestionas servidores AWS gestiona infraestructura
Pago continuo Pago por ejecución
Escalado manual Escalado automático
Aplicaciones largas Eventos rápidos

Cuándo usar EC2

  • Aplicaciones permanentes
  • Control total sistema operativo
  • Procesos largos

Cuándo usar Lambda

  • Automatización
  • Microservicios
  • Procesamiento por eventos
  • Escalado automático
Muchas arquitecturas modernas combinan EC2, Lambda y otros servicios.

Mini-test

¿Qué servicio escala automáticamente?

AWS Lambda
EC2 manual
SSH
EBS

4. Cómo funciona Lambda

Lambda trabaja completamente mediante eventos.

Flujo general

Se produce un evento
↓
AWS detecta el evento
↓
Se ejecuta Lambda
↓
Lambda ejecuta código
↓
Devuelve resultado

Características importantes

  • Ejecución temporal
  • Escalado automático
  • Alta disponibilidad
  • Sin administración servidor

Tiempo de vida

Una función Lambda no permanece activa permanentemente como EC2.

Lambda tiene un límite máximo de ejecución de 15 minutos.

Mini-test

¿Qué activa normalmente Lambda?

Eventos
Un monitor físico
Un disco SSD
Una GPU local

5. Fuentes de eventos Lambda

Muchos servicios AWS pueden activar funciones Lambda automáticamente.

Eventos más utilizados

  • Amazon S3
  • API Gateway
  • CloudWatch
  • SNS
  • SQS
  • DynamoDB

Ejemplo con S3

Usuario sube imagen
↓
S3 detecta evento
↓
Lambda procesa imagen

Ejemplo con API Gateway

Petición HTTP
↓
API Gateway
↓
Lambda ejecuta backend
Las arquitecturas serverless modernas suelen basarse completamente en eventos.

Mini-test

¿Qué servicio puede activar Lambda al subir archivos?

Amazon S3
EBS
IAM
Route 53

6. Lenguajes soportados

Lambda soporta múltiples lenguajes de programación.

Lenguajes principales

  • Python
  • Node.js
  • Java
  • C#
  • Go
  • Ruby

Python

Es uno de los más utilizados por su simplicidad.

Ejemplo básico

def lambda_handler(event, context):

    return {
        'statusCode': 200,
        'body': 'Hola Lambda'
    }
La función principal suele llamarse lambda_handler.

Mini-test

¿Qué lenguaje es muy común en Lambda?

Python
HTML
CSS
SQL puro

7. Roles IAM y permisos

Lambda necesita permisos para interactuar con otros servicios AWS.

Cómo obtiene permisos

Mediante roles IAM.

Ejemplo

Lambda
↓
Rol IAM
↓
Permisos EC2

Permisos típicos

  • Leer buckets S3
  • Iniciar EC2
  • Detener EC2
  • Escribir logs
Sin permisos IAM correctos, Lambda fallará aunque el código esté bien escrito.

Mini-test

¿Qué usa Lambda para permisos?

Roles IAM
Elastic IP
CloudFront
Subredes

8. Amazon CloudWatch

CloudWatch monitoriza funciones Lambda automáticamente.

Qué registra

  • Logs
  • Errores
  • Tiempo ejecución
  • Invocaciones
  • Uso memoria

Ejemplo Python

print("Lambda iniciada")

Ese texto aparecerá en CloudWatch Logs.

Ventaja

Permite depurar problemas rápidamente.

CloudWatch es fundamental para detectar errores en arquitecturas serverless.

Mini-test

¿Qué servicio almacena logs Lambda?

CloudWatch
Route 53
S3 únicamente
VPC

9. Crear una función Lambda

Paso 1

Entrar al servicio AWS Lambda.

Paso 2

Seleccionar “Create Function”.

Paso 3

Author from scratch
Nombre: mi_lambda
Runtime: Python 3.x

Paso 4

Elegir rol IAM.

Paso 5

Escribir código y desplegar.

Paso 6

Crear evento de prueba.

El editor integrado Lambda permite probar funciones rápidamente.

Mini-test

¿Qué necesitamos para crear Lambda?

Código y runtime
Una GPU física
Un disco EBS
CloudFront obligatorio

10. Ejemplo de código Lambda en Python

Lambda recibe dos parámetros:

  • event → información del evento
  • context → información ejecución

Ejemplo completo

import json

def lambda_handler(event, context):

    nombre = event['nombre']

    return {
        'statusCode': 200,
        'body': json.dumps(
            f'Hola {nombre}'
        )
    }

Evento de prueba

{
  "nombre": "Marcos"
}

Resultado

{
  "statusCode": 200,
  "body": "Hola Marcos"
}
Los eventos normalmente llegan en formato JSON.

Mini-test

¿Qué formato suelen usar los eventos?

JSON
HTML
PDF
EXE

11. Automatizar EC2 con Lambda

Uno de los usos más comunes es encender y apagar servidores automáticamente.

Objetivo

  • Ahorrar dinero
  • Automatizar horarios

Ejemplo

20:00
↓
CloudWatch Event
↓
Lambda
↓
Stop EC2

Código ejemplo

import boto3

ec2 = boto3.client('ec2')

def lambda_handler(event, context):

    ec2.stop_instances(
        InstanceIds=['i-123456']
    )
boto3 es la librería oficial Python para AWS.

Mini-test

¿Qué librería Python usa AWS?

boto3
numpy
flask
pandas

12. API Gateway y Lambda

API Gateway permite exponer funciones Lambda mediante HTTP.

Arquitectura

Usuario
↓
API Gateway
↓
Lambda
↓
Respuesta JSON

Ventajas

  • Crear APIs REST
  • Backend serverless
  • Escalabilidad automática
  • Pago por uso

Casos típicos

  • APIs móviles
  • Aplicaciones SPA
  • Microservicios
API Gateway suele ser la puerta de entrada HTTP en arquitecturas serverless.

Mini-test

¿Qué servicio expone Lambda vía HTTP?

API Gateway
EBS
VPC
CloudFront únicamente

13. Límites y costes

Límites importantes

Elemento Límite
Tiempo ejecución 15 minutos
Memoria máxima 10 GB
Concurrentes 1000

Modelo de precios

  • Invocaciones
  • Tiempo ejecución
  • Memoria utilizada

Ventaja económica

Si la función no se ejecuta, normalmente no pagamos.

Lambda puede ahorrar muchísimo dinero en aplicaciones con tráfico irregular.

Mini-test

¿Cuál es el máximo tiempo de ejecución?

15 minutos
24 horas
5 segundos
Ilimitado

14. Arquitectura moderna Serverless

Ejemplo completo

Usuario
↓
CloudFront
↓
S3 (Frontend)
↓
API Gateway
↓
Lambda
↓
DynamoDB / RDS

Ventajas

  • Escalabilidad automática
  • Pago por uso
  • Alta disponibilidad
  • Poca administración
  • Arquitectura moderna

Desventajas

  • Cold Starts
  • Tiempo máximo limitado
  • Más complejidad distribuida
Muchas startups modernas funcionan casi completamente con arquitecturas serverless.
Lambda no sustituye completamente a EC2; ambos servicios se complementan.

Mini-test

¿Qué ventaja principal tiene serverless?

Menos administración
Eliminar internet
Eliminar bases de datos
No usar programación